Group Predictions

Row

Win percentage for the week

Season Win Percentage

Games Correct

188

Games Picked

256

Number of predictions

79

Row

This Week’s Predictions
Game Prediction Winner Correct Correct Votes Correct Percent
1 Kansas City Chiefs Kansas City Chiefs Yes 70 0.8861
2 Baltimore Ravens Baltimore Ravens Yes 74 0.9367
3 Seattle Seahawks Seattle Seahawks Yes 74 0.9367
4 Los Angeles Chargers Los Angeles Chargers Yes 75 0.9494
5 Cincinnati Bengals Cincinnati Bengals Yes 41 0.5190
6 Los Angeles Rams Los Angeles Rams Yes 70 0.8861
7 Tampa Bay Buccaneers Tampa Bay Buccaneers Yes 74 0.9367
8 Philadelphia Eagles Philadelphia Eagles Yes 68 0.8608
9 Indianapolis Colts New York Giants No 2 0.0253
10 New Orleans Saints Las Vegas Raiders No 20 0.2532
11 Buffalo Bills Buffalo Bills Yes 77 0.9747
12 Tennessee Titans Jacksonville Jaguars No 37 0.4684
13 Miami Dolphins Miami Dolphins Yes 77 0.9747
14 Minnesota Vikings Minnesota Vikings Yes 53 0.6709
15 Washington Commanders Washington Commanders Yes 73 0.9241
16 Detroit Lions Detroit Lions Yes 77 0.9747

Individual Predictions

row

Individual Table

Individual Results
Week 17
Name Weekly # Correct Percent Weeks Picked Season Percent Adj Season Percent Season Trend
Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10 Week 11 Week 12 Week 13 Week 14 Week 15 Week 16 Week 17
Aubrey Conn 13 7 10 9 8 12 12 9 13 9 10 11 16 10 12 12 15 0.9375 17 0.7344 0.7344
Chris Papageorge 14 8 10 11 8 12 12 12 11 8 9 7 15 7 11 11 15 0.9375 17 0.7070 0.7070
Nicole Dike 13 7 8 10 7 10 10 12 10 9 10 8 15 9 13 13 15 0.9375 17 0.6992 0.6992
Ronald Schmidt 10 10 5 9 6 8 12 10 NA 7 9 10 NA 8 13 11 15 0.9375 15 0.6356 0.5608
Robert Martin 7 NA 9 8 8 8 7 NA 8 7 7 9 11 8 11 13 15 0.9375 15 0.6071 0.5357
Robert Cunningham 14 9 10 12 8 12 11 11 12 9 11 10 NA 10 13 12 14 0.8750 16 0.7417 0.6981
Robert Gelo 14 8 9 9 8 13 13 11 12 10 10 9 12 11 11 13 14 0.8750 17 0.7305 0.7305
Michael Pacifico 13 8 7 9 9 12 12 10 14 9 11 10 14 10 12 12 14 0.8750 17 0.7266 0.7266
Chester Todd 13 8 8 8 9 13 13 10 9 9 11 9 15 10 12 13 14 0.8750 17 0.7188 0.7188
Bradley Hobson 13 7 8 11 7 13 10 10 11 8 NA 10 16 11 14 9 14 0.8750 16 0.7107 0.6689
Anthony Bloss 13 8 8 11 8 13 11 11 9 7 10 9 14 9 13 12 14 0.8750 17 0.7031 0.7031
Jason Schattel 13 7 6 9 10 11 9 10 11 9 10 10 13 9 13 12 14 0.8750 17 0.6875 0.6875
Pablo Burgosramos 9 5 8 9 5 14 12 12 12 7 11 10 13 10 14 10 14 0.8750 17 0.6836 0.6836
Ramar Williams 10 8 7 11 8 11 11 10 8 8 9 8 13 10 12 14 14 0.8750 17 0.6719 0.6719
Cade Martinez 10 7 8 8 6 11 11 9 10 10 9 8 15 11 13 11 14 0.8750 17 0.6680 0.6680
Brittany Pillar NA NA NA NA NA 10 12 NA NA 10 11 10 16 11 13 12 13 0.8125 10 0.8027 0.4722
Michael Linder 11 9 9 NA NA 12 10 11 10 NA 11 NA 13 NA 14 13 13 0.8125 12 0.7312 0.5161
Marc Agne 14 7 9 13 6 13 10 9 12 10 10 7 16 9 13 12 13 0.8125 17 0.7148 0.7148
Randy Dick 11 7 8 8 9 14 10 10 13 11 10 9 14 10 12 12 13 0.8125 17 0.7070 0.7070
Christopher Sims 11 9 10 8 7 10 12 14 11 9 8 9 16 10 11 11 13 0.8125 17 0.6992 0.6992
David Dupree 13 8 10 9 7 11 11 11 12 NA 9 8 13 10 12 12 13 0.8125 16 0.6983 0.6572
Stephen Bush 9 7 4 10 9 13 13 9 10 10 8 9 16 10 13 13 13 0.8125 17 0.6875 0.6875
Jennifer Bouland 13 8 10 7 8 11 10 11 9 9 12 10 NA 11 11 NA 13 0.8125 15 0.6830 0.6026
Paul Seitz 11 9 9 NA 8 10 11 NA NA 7 8 8 14 7 14 NA 13 0.8125 13 0.6684 0.5111
Michael Moss 13 8 8 8 10 13 8 9 11 9 10 6 11 10 12 12 13 0.8125 17 0.6680 0.6680
Antonio Mitchell 11 7 8 9 9 11 10 11 10 8 8 9 13 9 13 10 13 0.8125 17 0.6602 0.6602
James Small 12 NA 9 10 8 10 9 9 10 10 NA 6 11 8 13 11 13 0.8125 15 0.6593 0.5817
David Humes 10 9 8 11 5 8 12 8 12 11 11 6 14 9 9 12 13 0.8125 17 0.6562 0.6562
Jason Jackson 12 7 5 6 5 12 9 11 10 10 12 9 NA 10 13 12 13 0.8125 16 0.6500 0.6118
Jeffrey Zornes 9 11 6 8 7 10 9 11 9 10 NA 8 15 11 11 9 13 0.8125 16 0.6488 0.6106
Brandon Parks 12 6 9 9 6 13 NA NA 12 10 10 6 NA 8 12 9 13 0.8125 14 0.6459 0.5319
Bunnaro Sun 12 5 8 11 6 8 9 9 12 8 8 NA 14 NA 12 13 13 0.8125 15 0.6435 0.5678
Louie Renew 9 8 12 4 10 8 8 11 11 8 10 9 NA 10 10 13 13 0.8125 16 0.6417 0.6040
Rachel Follo 15 8 6 6 9 7 10 11 9 9 10 7 13 11 11 8 13 0.8125 17 0.6367 0.6367
Terry Hardison 13 8 6 7 4 11 10 12 11 9 11 7 NA NA 11 10 13 0.8125 15 0.6300 0.5559
Bruce Williams 13 9 10 8 9 13 12 10 NA 10 10 9 14 9 12 11 12 0.7500 16 0.7095 0.6678
Patrick Tynan 12 8 7 9 8 12 NA 12 12 10 10 6 16 11 13 NA 12 0.7500 15 0.7022 0.6196
Thomas Brenstuhl 9 8 NA 6 7 9 10 13 11 9 13 9 15 11 14 NA 12 0.7500 15 0.6964 0.6145
Kevin Kehoe 13 7 9 10 8 13 12 11 9 8 8 8 13 9 14 12 12 0.7500 17 0.6875 0.6875
Daniel Baller 14 6 9 8 7 9 10 12 10 10 10 10 15 10 12 11 12 0.7500 17 0.6836 0.6836
Bryson Scott 10 9 7 NA 7 12 11 12 10 9 NA 9 15 10 10 NA 12 0.7500 14 0.6810 0.5608
Edward Ford 9 7 6 10 5 10 10 13 11 9 12 10 14 11 14 11 12 0.7500 17 0.6797 0.6797
David Plate 10 8 8 8 9 NA NA NA 13 10 8 9 14 NA 12 11 12 0.7500 13 0.6667 0.5098
Darvin Graham 12 7 6 9 8 11 9 NA 10 9 9 10 NA 11 14 NA 12 0.7500 14 0.6587 0.5425
Brian Patterson 11 6 9 9 6 NA 9 13 NA 9 12 7 14 9 13 10 12 0.7500 15 0.6564 0.5792
Nicholas Nguyen 11 8 5 8 7 12 11 9 10 9 10 9 NA 9 16 11 12 0.7500 16 0.6542 0.6157
Kamar Morgan 12 6 8 5 8 12 9 12 10 8 10 10 16 10 NA 9 12 0.7500 16 0.6542 0.6157
Walter Archambo 8 8 7 9 6 12 11 11 12 10 10 9 15 9 9 9 12 0.7500 17 0.6523 0.6523
George Brown 14 7 8 7 6 11 10 12 9 12 11 8 12 11 10 7 12 0.7500 17 0.6523 0.6523
Christopher Mulcahy 11 9 7 8 NA 8 9 9 10 9 10 9 13 11 12 10 12 0.7500 16 0.6488 0.6106
Vincent Scannelli 11 7 7 11 8 8 11 12 9 8 9 7 12 NA 11 13 12 0.7500 16 0.6420 0.6042
Wayne Schofield 7 5 9 5 7 7 11 11 10 8 13 10 13 11 NA 13 12 0.7500 16 0.6333 0.5960
Kenneth Nielsen 13 8 7 NA 8 9 11 10 NA NA NA NA 11 NA NA 8 12 0.7500 10 0.6258 0.3681
Gary Lawrence 10 6 5 5 7 9 9 10 9 9 11 8 16 11 11 10 12 0.7500 17 0.6172 0.6172
Richard Conkle 7 6 6 8 7 10 12 11 9 NA 8 NA NA 10 9 NA 12 0.7500 13 0.5838 0.4464
Jeremy Stieler 11 9 6 11 6 13 11 11 11 9 9 8 16 10 14 13 11 0.6875 17 0.6992 0.6992
William Schouviller 12 7 9 9 11 13 10 9 NA 7 11 8 15 11 13 11 11 0.6875 16 0.6929 0.6521
Matthew Schultz 13 10 9 8 9 9 9 12 11 8 11 10 14 9 11 9 11 0.6875 17 0.6758 0.6758
Ryan Cvik 10 8 9 11 9 11 11 13 10 7 7 9 12 10 13 12 11 0.6875 17 0.6758 0.6758
Richard Beeghley 11 7 6 11 7 14 10 10 10 8 9 9 14 11 12 11 11 0.6875 17 0.6680 0.6680
Clevante Granville 9 11 NA NA 5 11 11 9 10 11 9 10 NA 8 13 9 11 0.6875 14 0.6587 0.5425
Anthony Brinson 11 7 NA 9 10 11 9 12 6 NA NA 8 14 10 NA 11 11 0.6875 13 0.6582 0.5033
Montee Brown 10 6 8 7 8 14 11 10 8 10 10 9 14 8 13 11 11 0.6875 17 0.6562 0.6562
Trevor Macgavin 12 7 10 8 8 8 9 7 10 7 11 10 16 9 12 12 11 0.6875 17 0.6523 0.6523
Michael Branson 9 8 8 9 8 11 9 11 10 9 11 7 14 9 13 10 11 0.6875 17 0.6523 0.6523
Jonathan Smith 11 NA 4 10 7 NA 8 11 10 7 9 7 15 9 15 13 11 0.6875 15 0.6504 0.5739
Melissa Printup 8 9 9 6 10 10 10 10 7 10 9 8 13 7 13 11 11 0.6875 17 0.6289 0.6289
Marcus Evans 11 8 NA 8 7 10 7 9 10 6 11 8 12 8 13 9 11 0.6875 16 0.6167 0.5804
Robert Lynch 6 9 8 6 9 7 7 12 NA 9 7 8 15 NA 13 13 11 0.6875 15 0.6140 0.5418
Nicholas Cinco 12 8 NA NA 6 11 11 12 11 11 8 9 12 8 14 11 10 0.6250 15 0.6875 0.6066
George Sweet 13 9 6 10 11 9 11 11 12 7 10 11 12 9 12 12 10 0.6250 17 0.6836 0.6836
Brayant Rivera 10 8 9 8 6 13 11 10 12 9 11 10 13 10 14 8 10 0.6250 17 0.6719 0.6719
Thomas Mccoy 10 7 6 8 9 11 11 10 12 10 10 8 13 9 11 10 10 0.6250 17 0.6445 0.6445
Kristen White 14 7 9 9 8 9 9 8 8 9 9 8 13 8 14 9 10 0.6250 17 0.6289 0.6289
Diance Durand 9 9 12 7 8 10 9 11 11 7 9 8 12 NA 11 7 10 0.6250 16 0.6173 0.5810
Nahir Shepard 11 8 10 8 6 12 8 12 9 9 11 10 13 9 NA 9 9 0.5625 16 0.6417 0.6040
Andrew Gray 5 8 9 7 NA NA 7 9 7 11 8 6 5 10 9 NA 9 0.5625 14 0.5189 0.4273
Daniel Major 8 10 11 6 8 11 NA 10 10 10 11 9 14 11 9 NA 8 0.5000 15 0.6489 0.5726
Matthew Olguin 10 8 9 9 7 12 11 11 9 7 8 5 14 9 12 12 7 0.4375 17 0.6250 0.6250
Clayton Grimes 14 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.8750 0.0515
Tanaysa Henderson NA NA NA NA NA 12 NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.8571 0.0504
Matthew Blair NA NA NA NA NA 11 10 12 10 9 11 8 15 11 15 10 NA 0.0000 11 0.7531 0.4873
Wallace Savage 12 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.7500 0.0441
Brian Holder 12 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.7500 0.0441
Sandra Carter 12 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.7500 0.0441
Steven Maisonneuve NA NA NA NA 11 10 11 12 11 8 NA 10 12 9 NA NA NA 0.0000 9 0.7231 0.3828
Randolph Tidd 11 7 8 12 NA 12 11 12 13 9 11 7 16 10 11 12 NA 0.0000 15 0.7168 0.6325
Nathan Brown 13 8 9 11 9 NA 10 11 14 9 10 10 14 10 12 12 NA 0.0000 15 0.7168 0.6325
Jeremy Mounce 12 8 8 NA 10 12 NA NA NA 10 10 NA NA NA 14 NA NA 0.0000 8 0.7000 0.3294
Gregory Brown 15 7 6 9 8 12 9 9 13 9 10 9 15 12 13 12 NA 0.0000 16 0.7000 0.6588
Heather Kohler 12 NA 7 12 9 11 NA 12 NA 8 9 10 14 NA NA NA NA 0.0000 10 0.6980 0.4106
Jeremy Krammes 12 NA NA NA NA NA NA 10 NA 10 NA NA NA NA NA NA NA 0.0000 3 0.6957 0.1228
Brian Hollmann NA NA NA 8 8 10 10 11 9 8 12 8 16 11 12 10 NA 0.0000 13 0.6927 0.5297
Erik Neumann 12 8 9 9 7 13 10 11 12 9 10 NA NA 10 15 11 NA 0.0000 14 0.6919 0.5698
Keven Talbert 10 7 9 11 9 14 13 9 9 11 10 10 12 10 10 12 NA 0.0000 16 0.6917 0.6510
Heather Ellenberger 13 8 7 8 7 12 11 11 13 9 9 10 14 9 14 11 NA 0.0000 16 0.6917 0.6510
Terrence Lee 11 NA NA NA NA NA NA NA NA NA NA 9 NA NA NA NA NA 0.0000 2 0.6897 0.0811
Daniel Gray 11 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.6875 0.0404
Shawn Carden 10 9 10 10 8 11 10 11 11 9 8 8 15 9 14 11 NA 0.0000 16 0.6833 0.6431
Karen Coleman 13 6 NA 11 9 9 10 9 11 8 9 9 14 10 14 11 NA 0.0000 15 0.6830 0.6026
Kevin Buettner 12 8 8 10 7 11 10 9 10 10 10 8 16 10 13 11 NA 0.0000 16 0.6792 0.6392
Ryan Wiggins NA NA NA NA NA NA NA NA 11 NA NA NA NA NA NA 10 NA 0.0000 2 0.6774 0.0797
Daniel Halse 12 6 8 10 7 13 9 11 11 11 NA 8 14 9 12 12 NA 0.0000 15 0.6770 0.5974
Pamela Augustine 14 9 9 NA 7 11 9 NA 10 NA 10 9 14 9 10 10 NA 0.0000 13 0.6753 0.5164
Philip Driskill 12 7 8 10 8 NA 13 11 10 NA NA 9 14 10 NA NA NA 0.0000 11 0.6747 0.4366
Darryle Sellers 11 11 6 8 9 11 9 10 12 9 12 7 15 9 NA 12 NA 0.0000 15 0.6741 0.5948
Zechariah Ziebarth 8 8 8 10 5 10 10 11 11 NA 12 8 15 10 16 10 NA 0.0000 15 0.6726 0.5935
Shaun Dahl 14 7 9 11 10 10 10 8 9 11 8 11 12 11 12 8 NA 0.0000 16 0.6708 0.6313
Scott Lefton 10 8 8 7 7 11 11 10 11 10 10 8 15 10 14 11 NA 0.0000 16 0.6708 0.6313
Robert Sokol 10 8 NA NA 6 9 9 13 12 9 10 8 14 10 NA NA NA 0.0000 12 0.6705 0.4733
Rafael Torres 12 9 8 7 8 10 12 10 12 11 11 7 12 10 NA 11 NA 0.0000 15 0.6696 0.5908
George Mancini 11 8 6 NA 8 6 12 NA 11 9 11 10 13 11 NA 12 NA 0.0000 13 0.6667 0.5098
Noah Gosswiller 8 7 NA 10 8 NA 10 11 10 10 10 8 NA 9 14 14 NA 0.0000 13 0.6649 0.5085
Earl Dixon 10 9 6 9 9 NA 11 10 9 9 10 10 15 11 10 12 NA 0.0000 15 0.6637 0.5856
Michael Moore 11 6 7 7 8 12 NA 9 9 NA 12 9 16 10 13 11 NA 0.0000 14 0.6635 0.5464
Travis Delagardelle 11 12 10 8 6 11 12 11 11 9 9 NA NA NA NA NA NA 0.0000 11 0.6627 0.4288
Karen Richardson 10 9 7 9 11 8 8 12 8 10 9 9 13 10 14 12 NA 0.0000 16 0.6625 0.6235
Jeffrey Rudderforth 11 11 10 9 6 7 10 11 12 9 8 8 14 9 11 12 NA 0.0000 16 0.6583 0.6196
Ryan Baum 14 4 9 10 9 NA 10 10 11 10 NA 8 14 8 NA 12 NA 0.0000 13 0.6582 0.5033
Jennifer Arty 10 7 9 7 7 12 8 12 11 9 10 8 15 9 13 10 NA 0.0000 16 0.6542 0.6157
Jonathon Leslein 10 8 7 10 8 12 10 10 8 10 7 10 12 10 13 12 NA 0.0000 16 0.6542 0.6157
Michelle Fraterrigo 11 8 9 9 7 11 12 12 11 8 8 10 NA 9 NA 11 NA 0.0000 14 0.6538 0.5384
George Hall 12 NA 8 NA NA NA NA NA NA 10 NA NA NA NA NA NA NA 0.0000 3 0.6522 0.1151
Steward Hogans 10 7 10 NA NA NA NA 10 13 8 8 9 11 8 11 12 NA 0.0000 12 0.6464 0.4563
Cheryl Brown 11 6 9 8 8 10 NA 9 8 10 11 9 14 10 10 12 NA 0.0000 15 0.6444 0.5686
Jared Kaanga 11 9 9 8 7 10 9 11 13 9 9 7 NA 11 11 10 NA 0.0000 15 0.6429 0.5673
Joshua Tracey 12 5 8 6 7 NA 9 13 10 7 10 9 16 9 13 11 NA 0.0000 15 0.6416 0.5661
Paul Presti 12 8 9 12 7 11 8 10 NA 10 9 NA NA NA NA NA NA 0.0000 10 0.6358 0.3740
Amy Asberry 11 8 6 10 NA 12 9 NA 9 8 NA NA 13 9 11 NA NA 0.0000 11 0.6347 0.4107
Tara Bridgett 11 8 8 8 NA 9 NA 10 10 NA NA NA 15 NA NA NA NA 0.0000 8 0.6320 0.2974
Yiming Hu 12 NA 7 7 6 8 12 9 NA 9 12 8 11 NA 12 NA NA 0.0000 12 0.6278 0.4432
Jordan Forwood 11 8 6 11 NA 13 NA 10 NA NA NA NA NA NA NA NA NA 0.0000 6 0.6277 0.2215
Keisha Vasquez 8 7 9 9 11 11 9 12 8 8 NA NA 14 NA NA 9 NA 0.0000 12 0.6250 0.4412
Desmond Jenkins 10 7 7 NA 7 12 8 NA NA NA NA NA 15 NA NA NA NA 0.0000 7 0.6168 0.2540
Anthony Rockemore 13 8 6 8 7 NA 8 NA NA 9 9 9 12 10 12 9 NA 0.0000 13 0.6154 0.4706
Jose Torres Mendoza 12 8 8 8 NA NA 8 9 10 11 8 7 NA 10 NA 11 NA 0.0000 12 0.6111 0.4314
David Hadley 13 10 8 NA 8 NA 8 NA NA NA NA NA NA NA NA NA NA 0.0000 5 0.6104 0.1795
Jack Wheeler 9 6 5 10 8 NA 9 9 10 8 10 7 15 11 9 11 NA 0.0000 15 0.6062 0.5349
Kyle May 10 8 5 6 8 NA 12 10 9 8 8 8 13 7 13 12 NA 0.0000 15 0.6062 0.5349
Wayne Gokey 13 7 NA 11 NA NA 8 NA 8 NA NA NA NA NA NA NA NA 0.0000 5 0.6026 0.1772
Jonathan Knight 13 10 9 6 7 NA 11 NA NA NA NA NA NA NA NA NA NA 0.0000 6 0.6022 0.2125
Megan Fitzgerald 8 11 9 10 NA NA 8 10 NA NA NA 7 13 4 12 NA NA 0.0000 10 0.6013 0.3537
Kevin Green 11 9 NA 8 7 12 NA 8 NA NA NA NA NA NA NA NA NA 0.0000 6 0.5978 0.2110
Derrick Elam 13 9 8 11 7 10 8 9 NA NA NA 7 NA 7 NA NA NA 0.0000 10 0.5973 0.3514
Ryan Shipley 11 6 10 8 5 9 11 NA 10 NA 9 10 NA NA 10 9 NA 0.0000 12 0.5967 0.4212
Jeffrey Dusza 11 8 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 2 0.5938 0.0699
Cherylynn Vidal 13 9 8 8 NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 4 0.5938 0.1397
Adam Konkle 10 9 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 2 0.5938 0.0699
Thomas Cho 10 6 NA 11 7 12 NA 8 9 NA NA NA NA NA NA NA NA 0.0000 7 0.5888 0.2424
Steven Webster 7 7 9 6 7 9 NA 11 NA 8 10 8 NA 8 12 12 NA 0.0000 13 0.5876 0.4493
Jason Miranda 10 7 8 NA 9 11 8 NA NA NA NA NA NA NA NA NA NA 0.0000 6 0.5824 0.2056
Jennifer Wilson 11 9 10 6 NA 7 11 NA NA NA NA NA NA NA NA NA NA 0.0000 6 0.5806 0.2049
Sheryl Claiborne-Smith 11 7 NA NA NA 7 7 10 7 7 9 9 10 9 NA NA NA 0.0000 11 0.5741 0.3715
Joseph Martin 10 7 8 8 8 10 9 NA NA NA NA NA NA NA NA NA NA 0.0000 7 0.5607 0.2309
Min Choi 10 NA 7 NA 8 7 NA 10 NA NA NA NA NA NA NA NA NA 0.0000 5 0.5526 0.1625
Lawrence Thuotte 9 5 12 NA 8 NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 4 0.5484 0.1290
Donald Park 9 NA 6 NA NA 10 NA NA NA NA NA NA NA NA NA NA NA 0.0000 3 0.5435 0.0959
Gabriel Quinones 10 7 6 9 NA 11 8 7 NA NA NA 6 NA 9 NA NA NA 0.0000 9 0.5407 0.2863
Monte Henderson 9 8 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 2 0.5312 0.0625
David Kim 9 8 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 2 0.5312 0.0625
Jamie Ainsleigh-Wong 9 8 9 9 8 5 NA NA NA NA NA NA NA NA NA NA NA 0.0000 6 0.5217 0.1841
Akilah Gamble 9 NA 12 9 6 8 12 6 NA 8 NA 7 NA NA 3 6 NA 0.0000 11 0.5181 0.3352
Jay Kelly 10 9 7 7 5 10 7 NA NA NA NA NA NA NA NA NA NA 0.0000 7 0.5140 0.2116
Zachary Brosemer 8 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.5000 0.0294
Antonio Chapa 8 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.5000 0.0294
Vincent Kandian 9 8 8 7 NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 4 0.5000 0.1176
Ashley Johnson 9 NA 6 NA 6 NA NA NA NA NA 5 9 8 NA NA NA NA 0.0000 6 0.4831 0.1705
Ashlyn Dortch 9 NA NA 8 NA 5 9 6 NA NA NA NA NA NA NA NA NA 0.0000 5 0.4805 0.1413
Gabrieal Feiling 10 NA 5 NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 2 0.4688 0.0552
Jasprin Smith 6 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.3750 0.0221
Robert Epps NA 6 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.0000 1 0.3750 0.0221

Season Leaderboard

Season Leaderboard (Season Percent)
Week 17
Season Rank Name Donuts Won Weeks Picked Season Percent Adj Season Percent Season Trend
1 Clayton Grimes 0 1 0.8750 0.0515
2 Tanaysa Henderson 0 1 0.8571 0.0504
3 Brittany Pillar 1 10 0.8027 0.4722
4 Matthew Blair 0 11 0.7531 0.4873
5 Brian Holder 0 1 0.7500 0.0441
5 Sandra Carter 0 1 0.7500 0.0441
5 Wallace Savage 0 1 0.7500 0.0441
8 Robert Cunningham 0 16 0.7417 0.6981
9 Aubrey Conn 3 17 0.7344 0.7344
10 Michael Linder 0 12 0.7312 0.5161
11 Robert Gelo 1 17 0.7305 0.7305
12 Michael Pacifico 1 17 0.7266 0.7266
13 Steven Maisonneuve 1 9 0.7231 0.3828
14 Chester Todd 1 17 0.7188 0.7188
15 Nathan Brown 1 15 0.7168 0.6325
15 Randolph Tidd 1 15 0.7168 0.6325
17 Marc Agne 2 17 0.7148 0.7148
18 Bradley Hobson 1 16 0.7107 0.6689
19 Bruce Williams 0 16 0.7095 0.6678
20 Chris Papageorge 1 17 0.7070 0.7070
20 Randy Dick 1 17 0.7070 0.7070
22 Anthony Bloss 0 17 0.7031 0.7031
23 Patrick Tynan 1 15 0.7022 0.6196
24 Gregory Brown 2 16 0.7000 0.6588
24 Jeremy Mounce 0 8 0.7000 0.3294
26 Christopher Sims 2 17 0.6992 0.6992
26 Jeremy Stieler 1 17 0.6992 0.6992
26 Nicole Dike 1 17 0.6992 0.6992
29 David Dupree 0 16 0.6983 0.6572
30 Heather Kohler 0 10 0.6980 0.4106
31 Thomas Brenstuhl 1 15 0.6964 0.6145
32 Jeremy Krammes 0 3 0.6957 0.1228
33 William Schouviller 1 16 0.6929 0.6521
34 Brian Hollmann 1 13 0.6927 0.5297
35 Erik Neumann 0 14 0.6919 0.5698
36 Heather Ellenberger 0 16 0.6917 0.6510
36 Keven Talbert 2 16 0.6917 0.6510
38 Terrence Lee 0 2 0.6897 0.0811
39 Daniel Gray 0 1 0.6875 0.0404
39 Jason Schattel 0 17 0.6875 0.6875
39 Kevin Kehoe 0 17 0.6875 0.6875
39 Nicholas Cinco 0 15 0.6875 0.6066
39 Stephen Bush 2 17 0.6875 0.6875
44 Daniel Baller 0 17 0.6836 0.6836
44 George Sweet 2 17 0.6836 0.6836
44 Pablo Burgosramos 1 17 0.6836 0.6836
47 Shawn Carden 0 16 0.6833 0.6431
48 Jennifer Bouland 0 15 0.6830 0.6026
48 Karen Coleman 0 15 0.6830 0.6026
50 Bryson Scott 0 14 0.6810 0.5608
51 Edward Ford 0 17 0.6797 0.6797
52 Kevin Buettner 1 16 0.6792 0.6392
53 Ryan Wiggins 0 2 0.6774 0.0797
54 Daniel Halse 0 15 0.6770 0.5974
55 Matthew Schultz 0 17 0.6758 0.6758
55 Ryan Cvik 0 17 0.6758 0.6758
57 Pamela Augustine 0 13 0.6753 0.5164
58 Philip Driskill 1 11 0.6747 0.4366
59 Darryle Sellers 0 15 0.6741 0.5948
60 Zechariah Ziebarth 1 15 0.6726 0.5935
61 Brayant Rivera 0 17 0.6719 0.6719
61 Ramar Williams 1 17 0.6719 0.6719
63 Scott Lefton 0 16 0.6708 0.6313
63 Shaun Dahl 1 16 0.6708 0.6313
65 Robert Sokol 0 12 0.6705 0.4733
66 Rafael Torres 0 15 0.6696 0.5908
67 Paul Seitz 0 13 0.6684 0.5111
68 Cade Martinez 0 17 0.6680 0.6680
68 Michael Moss 0 17 0.6680 0.6680
68 Richard Beeghley 1 17 0.6680 0.6680
71 David Plate 0 13 0.6667 0.5098
71 George Mancini 0 13 0.6667 0.5098
73 Noah Gosswiller 1 13 0.6649 0.5085
74 Earl Dixon 0 15 0.6637 0.5856
75 Michael Moore 1 14 0.6635 0.5464
76 Travis Delagardelle 1 11 0.6627 0.4288
77 Karen Richardson 1 16 0.6625 0.6235
78 Antonio Mitchell 0 17 0.6602 0.6602
79 James Small 0 15 0.6593 0.5817
80 Clevante Granville 0 14 0.6587 0.5425
80 Darvin Graham 0 14 0.6587 0.5425
82 Jeffrey Rudderforth 0 16 0.6583 0.6196
83 Anthony Brinson 0 13 0.6582 0.5033
83 Ryan Baum 0 13 0.6582 0.5033
85 Brian Patterson 0 15 0.6564 0.5792
86 David Humes 0 17 0.6562 0.6562
86 Montee Brown 1 17 0.6562 0.6562
88 Jennifer Arty 0 16 0.6542 0.6157
88 Jonathon Leslein 0 16 0.6542 0.6157
88 Kamar Morgan 1 16 0.6542 0.6157
88 Nicholas Nguyen 1 16 0.6542 0.6157
92 Michelle Fraterrigo 0 14 0.6538 0.5384
93 George Brown 1 17 0.6523 0.6523
93 Michael Branson 0 17 0.6523 0.6523
93 Trevor Macgavin 1 17 0.6523 0.6523
93 Walter Archambo 0 17 0.6523 0.6523
97 George Hall 0 3 0.6522 0.1151
98 Jonathan Smith 0 15 0.6504 0.5739
99 Jason Jackson 0 16 0.6500 0.6118
100 Daniel Major 0 15 0.6489 0.5726
101 Christopher Mulcahy 0 16 0.6488 0.6106
101 Jeffrey Zornes 0 16 0.6488 0.6106
103 Steward Hogans 0 12 0.6464 0.4563
104 Brandon Parks 0 14 0.6459 0.5319
105 Thomas Mccoy 0 17 0.6445 0.6445
106 Cheryl Brown 0 15 0.6444 0.5686
107 Bunnaro Sun 0 15 0.6435 0.5678
108 Jared Kaanga 0 15 0.6429 0.5673
109 Vincent Scannelli 0 16 0.6420 0.6042
110 Louie Renew 1 16 0.6417 0.6040
110 Nahir Shepard 0 16 0.6417 0.6040
112 Joshua Tracey 1 15 0.6416 0.5661
113 Rachel Follo 1 17 0.6367 0.6367
114 Paul Presti 0 10 0.6358 0.3740
115 Ronald Schmidt 1 15 0.6356 0.5608
116 Amy Asberry 0 11 0.6347 0.4107
117 Wayne Schofield 1 16 0.6333 0.5960
118 Tara Bridgett 0 8 0.6320 0.2974
119 Terry Hardison 0 15 0.6300 0.5559
120 Kristen White 0 17 0.6289 0.6289
120 Melissa Printup 0 17 0.6289 0.6289
122 Yiming Hu 0 12 0.6278 0.4432
123 Jordan Forwood 0 6 0.6277 0.2215
124 Kenneth Nielsen 0 10 0.6258 0.3681
125 Keisha Vasquez 1 12 0.6250 0.4412
125 Matthew Olguin 0 17 0.6250 0.6250
127 Diance Durand 1 16 0.6173 0.5810
128 Gary Lawrence 1 17 0.6172 0.6172
129 Desmond Jenkins 0 7 0.6168 0.2540
130 Marcus Evans 0 16 0.6167 0.5804
131 Anthony Rockemore 0 13 0.6154 0.4706
132 Robert Lynch 0 15 0.6140 0.5418
133 Jose Torres Mendoza 0 12 0.6111 0.4314
134 David Hadley 0 5 0.6104 0.1795
135 Robert Martin 1 15 0.6071 0.5357
136 Jack Wheeler 0 15 0.6062 0.5349
136 Kyle May 0 15 0.6062 0.5349
138 Wayne Gokey 0 5 0.6026 0.1772
139 Jonathan Knight 0 6 0.6022 0.2125
140 Megan Fitzgerald 0 10 0.6013 0.3537
141 Kevin Green 0 6 0.5978 0.2110
142 Derrick Elam 0 10 0.5973 0.3514
143 Ryan Shipley 0 12 0.5967 0.4212
144 Adam Konkle 0 2 0.5938 0.0699
144 Cherylynn Vidal 0 4 0.5938 0.1397
144 Jeffrey Dusza 0 2 0.5938 0.0699
147 Thomas Cho 0 7 0.5888 0.2424
148 Steven Webster 0 13 0.5876 0.4493
149 Richard Conkle 0 13 0.5838 0.4464
150 Jason Miranda 0 6 0.5824 0.2056
151 Jennifer Wilson 0 6 0.5806 0.2049
152 Sheryl Claiborne-Smith 0 11 0.5741 0.3715
153 Joseph Martin 0 7 0.5607 0.2309
154 Min Choi 0 5 0.5526 0.1625
155 Lawrence Thuotte 1 4 0.5484 0.1290
156 Donald Park 0 3 0.5435 0.0959
157 Gabriel Quinones 0 9 0.5407 0.2863
158 David Kim 0 2 0.5312 0.0625
158 Monte Henderson 0 2 0.5312 0.0625
160 Jamie Ainsleigh-Wong 0 6 0.5217 0.1841
161 Andrew Gray 0 14 0.5189 0.4273
162 Akilah Gamble 1 11 0.5181 0.3352
163 Jay Kelly 0 7 0.5140 0.2116
164 Antonio Chapa 0 1 0.5000 0.0294
164 Vincent Kandian 0 4 0.5000 0.1176
164 Zachary Brosemer 0 1 0.5000 0.0294
167 Ashley Johnson 0 6 0.4831 0.1705
168 Ashlyn Dortch 0 5 0.4805 0.1413
169 Gabrieal Feiling 0 2 0.4688 0.0552
170 Jasprin Smith 0 1 0.3750 0.0221
170 Robert Epps 0 1 0.3750 0.0221

Adjusted Season Leaderboard

Season Leaderboard (Adjusted Season Percent)
Week 17
Season Rank Name Donuts Won Weeks Picked Season Percent Adj Season Percent Season Trend
1 Aubrey Conn 3 17 0.7344 0.7344
2 Robert Gelo 1 17 0.7305 0.7305
3 Michael Pacifico 1 17 0.7266 0.7266
4 Chester Todd 1 17 0.7188 0.7188
5 Marc Agne 2 17 0.7148 0.7148
6 Chris Papageorge 1 17 0.7070 0.7070
6 Randy Dick 1 17 0.7070 0.7070
8 Anthony Bloss 0 17 0.7031 0.7031
9 Christopher Sims 2 17 0.6992 0.6992
9 Jeremy Stieler 1 17 0.6992 0.6992
9 Nicole Dike 1 17 0.6992 0.6992
12 Robert Cunningham 0 16 0.7417 0.6981
13 Jason Schattel 0 17 0.6875 0.6875
13 Kevin Kehoe 0 17 0.6875 0.6875
13 Stephen Bush 2 17 0.6875 0.6875
16 Daniel Baller 0 17 0.6836 0.6836
16 George Sweet 2 17 0.6836 0.6836
16 Pablo Burgosramos 1 17 0.6836 0.6836
19 Edward Ford 0 17 0.6797 0.6797
20 Matthew Schultz 0 17 0.6758 0.6758
20 Ryan Cvik 0 17 0.6758 0.6758
22 Brayant Rivera 0 17 0.6719 0.6719
22 Ramar Williams 1 17 0.6719 0.6719
24 Bradley Hobson 1 16 0.7107 0.6689
25 Cade Martinez 0 17 0.6680 0.6680
25 Michael Moss 0 17 0.6680 0.6680
25 Richard Beeghley 1 17 0.6680 0.6680
28 Bruce Williams 0 16 0.7095 0.6678
29 Antonio Mitchell 0 17 0.6602 0.6602
30 Gregory Brown 2 16 0.7000 0.6588
31 David Dupree 0 16 0.6983 0.6572
32 David Humes 0 17 0.6562 0.6562
32 Montee Brown 1 17 0.6562 0.6562
34 George Brown 1 17 0.6523 0.6523
34 Michael Branson 0 17 0.6523 0.6523
34 Trevor Macgavin 1 17 0.6523 0.6523
34 Walter Archambo 0 17 0.6523 0.6523
38 William Schouviller 1 16 0.6929 0.6521
39 Heather Ellenberger 0 16 0.6917 0.6510
39 Keven Talbert 2 16 0.6917 0.6510
41 Thomas Mccoy 0 17 0.6445 0.6445
42 Shawn Carden 0 16 0.6833 0.6431
43 Kevin Buettner 1 16 0.6792 0.6392
44 Rachel Follo 1 17 0.6367 0.6367
45 Nathan Brown 1 15 0.7168 0.6325
45 Randolph Tidd 1 15 0.7168 0.6325
47 Scott Lefton 0 16 0.6708 0.6313
47 Shaun Dahl 1 16 0.6708 0.6313
49 Kristen White 0 17 0.6289 0.6289
49 Melissa Printup 0 17 0.6289 0.6289
51 Matthew Olguin 0 17 0.6250 0.6250
52 Karen Richardson 1 16 0.6625 0.6235
53 Jeffrey Rudderforth 0 16 0.6583 0.6196
53 Patrick Tynan 1 15 0.7022 0.6196
55 Gary Lawrence 1 17 0.6172 0.6172
56 Jennifer Arty 0 16 0.6542 0.6157
56 Jonathon Leslein 0 16 0.6542 0.6157
56 Kamar Morgan 1 16 0.6542 0.6157
56 Nicholas Nguyen 1 16 0.6542 0.6157
60 Thomas Brenstuhl 1 15 0.6964 0.6145
61 Jason Jackson 0 16 0.6500 0.6118
62 Christopher Mulcahy 0 16 0.6488 0.6106
62 Jeffrey Zornes 0 16 0.6488 0.6106
64 Nicholas Cinco 0 15 0.6875 0.6066
65 Vincent Scannelli 0 16 0.6420 0.6042
66 Louie Renew 1 16 0.6417 0.6040
66 Nahir Shepard 0 16 0.6417 0.6040
68 Jennifer Bouland 0 15 0.6830 0.6026
68 Karen Coleman 0 15 0.6830 0.6026
70 Daniel Halse 0 15 0.6770 0.5974
71 Wayne Schofield 1 16 0.6333 0.5960
72 Darryle Sellers 0 15 0.6741 0.5948
73 Zechariah Ziebarth 1 15 0.6726 0.5935
74 Rafael Torres 0 15 0.6696 0.5908
75 Earl Dixon 0 15 0.6637 0.5856
76 James Small 0 15 0.6593 0.5817
77 Diance Durand 1 16 0.6173 0.5810
78 Marcus Evans 0 16 0.6167 0.5804
79 Brian Patterson 0 15 0.6564 0.5792
80 Jonathan Smith 0 15 0.6504 0.5739
81 Daniel Major 0 15 0.6489 0.5726
82 Erik Neumann 0 14 0.6919 0.5698
83 Cheryl Brown 0 15 0.6444 0.5686
84 Bunnaro Sun 0 15 0.6435 0.5678
85 Jared Kaanga 0 15 0.6429 0.5673
86 Joshua Tracey 1 15 0.6416 0.5661
87 Bryson Scott 0 14 0.6810 0.5608
87 Ronald Schmidt 1 15 0.6356 0.5608
89 Terry Hardison 0 15 0.6300 0.5559
90 Michael Moore 1 14 0.6635 0.5464
91 Clevante Granville 0 14 0.6587 0.5425
91 Darvin Graham 0 14 0.6587 0.5425
93 Robert Lynch 0 15 0.6140 0.5418
94 Michelle Fraterrigo 0 14 0.6538 0.5384
95 Robert Martin 1 15 0.6071 0.5357
96 Jack Wheeler 0 15 0.6062 0.5349
96 Kyle May 0 15 0.6062 0.5349
98 Brandon Parks 0 14 0.6459 0.5319
99 Brian Hollmann 1 13 0.6927 0.5297
100 Pamela Augustine 0 13 0.6753 0.5164
101 Michael Linder 0 12 0.7312 0.5161
102 Paul Seitz 0 13 0.6684 0.5111
103 David Plate 0 13 0.6667 0.5098
103 George Mancini 0 13 0.6667 0.5098
105 Noah Gosswiller 1 13 0.6649 0.5085
106 Anthony Brinson 0 13 0.6582 0.5033
106 Ryan Baum 0 13 0.6582 0.5033
108 Matthew Blair 0 11 0.7531 0.4873
109 Robert Sokol 0 12 0.6705 0.4733
110 Brittany Pillar 1 10 0.8027 0.4722
111 Anthony Rockemore 0 13 0.6154 0.4706
112 Steward Hogans 0 12 0.6464 0.4563
113 Steven Webster 0 13 0.5876 0.4493
114 Richard Conkle 0 13 0.5838 0.4464
115 Yiming Hu 0 12 0.6278 0.4432
116 Keisha Vasquez 1 12 0.6250 0.4412
117 Philip Driskill 1 11 0.6747 0.4366
118 Jose Torres Mendoza 0 12 0.6111 0.4314
119 Travis Delagardelle 1 11 0.6627 0.4288
120 Andrew Gray 0 14 0.5189 0.4273
121 Ryan Shipley 0 12 0.5967 0.4212
122 Amy Asberry 0 11 0.6347 0.4107
123 Heather Kohler 0 10 0.6980 0.4106
124 Steven Maisonneuve 1 9 0.7231 0.3828
125 Paul Presti 0 10 0.6358 0.3740
126 Sheryl Claiborne-Smith 0 11 0.5741 0.3715
127 Kenneth Nielsen 0 10 0.6258 0.3681
128 Megan Fitzgerald 0 10 0.6013 0.3537
129 Derrick Elam 0 10 0.5973 0.3514
130 Akilah Gamble 1 11 0.5181 0.3352
131 Jeremy Mounce 0 8 0.7000 0.3294
132 Tara Bridgett 0 8 0.6320 0.2974
133 Gabriel Quinones 0 9 0.5407 0.2863
134 Desmond Jenkins 0 7 0.6168 0.2540
135 Thomas Cho 0 7 0.5888 0.2424
136 Joseph Martin 0 7 0.5607 0.2309
137 Jordan Forwood 0 6 0.6277 0.2215
138 Jonathan Knight 0 6 0.6022 0.2125
139 Jay Kelly 0 7 0.5140 0.2116
140 Kevin Green 0 6 0.5978 0.2110
141 Jason Miranda 0 6 0.5824 0.2056
142 Jennifer Wilson 0 6 0.5806 0.2049
143 Jamie Ainsleigh-Wong 0 6 0.5217 0.1841
144 David Hadley 0 5 0.6104 0.1795
145 Wayne Gokey 0 5 0.6026 0.1772
146 Ashley Johnson 0 6 0.4831 0.1705
147 Min Choi 0 5 0.5526 0.1625
148 Ashlyn Dortch 0 5 0.4805 0.1413
149 Cherylynn Vidal 0 4 0.5938 0.1397
150 Lawrence Thuotte 1 4 0.5484 0.1290
151 Jeremy Krammes 0 3 0.6957 0.1228
152 Vincent Kandian 0 4 0.5000 0.1176
153 George Hall 0 3 0.6522 0.1151
154 Donald Park 0 3 0.5435 0.0959
155 Terrence Lee 0 2 0.6897 0.0811
156 Ryan Wiggins 0 2 0.6774 0.0797
157 Adam Konkle 0 2 0.5938 0.0699
157 Jeffrey Dusza 0 2 0.5938 0.0699
159 David Kim 0 2 0.5312 0.0625
159 Monte Henderson 0 2 0.5312 0.0625
161 Gabrieal Feiling 0 2 0.4688 0.0552
162 Clayton Grimes 0 1 0.8750 0.0515
163 Tanaysa Henderson 0 1 0.8571 0.0504
164 Brian Holder 0 1 0.7500 0.0441
164 Sandra Carter 0 1 0.7500 0.0441
164 Wallace Savage 0 1 0.7500 0.0441
167 Daniel Gray 0 1 0.6875 0.0404
168 Antonio Chapa 0 1 0.5000 0.0294
168 Zachary Brosemer 0 1 0.5000 0.0294
170 Jasprin Smith 0 1 0.3750 0.0221
170 Robert Epps 0 1 0.3750 0.0221

Data

---
title: "2024 NFL Moneyline Picks"
output: 
  flexdashboard::flex_dashboard:
    theme:
      version: 4
      bootswatch: spacelab
    orientation: rows
    vertical_layout: fill
    social: ["menu"]
    source_code: embed
    navbar:
      - { title: "Created by: Daniel Baller", icon: "fa-github", href: "https://github.com/danielpballer"  }
---


```{r setup, include=FALSE}
#    source_code: embed
library(flexdashboard)
library(tidyverse)
library(data.table)
library(formattable)
library(ggpubr)
library(ggrepel)
library(gt)
library(glue)
library(ggthemes)
library(hrbrthemes)
library(sparkline)
library(plotly)
library(htmlwidgets)
library(mdthemes)
library(ggtext)
library(ggnewscale)
library(DT)
source("./Functions/functions2.R")

thematic::thematic_rmd(font = "auto")

```

```{r Reading in our picks files, include=FALSE}
current_week = 17 #Set what week it is
week_1 = read_csv("./CSV_Data_Files/2024 NFL Week 1.csv") %>% 
  mutate(Name = str_to_title(Name))
week_2 = read_csv("./CSV_Data_Files/2024 NFL Week 2.csv")%>% 
  mutate(Name = str_to_title(Name))
week_3 = read_csv("./CSV_Data_Files/2024 NFL Week 3.csv")%>% 
  mutate(Name = str_to_title(Name))
week_4 = read_csv("./CSV_Data_Files/2024 NFL Week 4.csv")%>%
 mutate(Name = str_to_title(Name))
week_5 = read_csv("./CSV_Data_Files/2024 NFL Week 5.csv")%>% 
  mutate(Name = str_to_title(Name))
week_6 = read_csv("./CSV_Data_Files/2024 NFL Week 6.csv")%>% 
  mutate(Name = str_to_title(Name))
week_7 = read_csv("./CSV_Data_Files/2024 NFL Week 7.csv")%>% 
  mutate(Name = str_to_title(Name))
week_8 = read_csv("./CSV_Data_Files/2024 NFL Week 8.csv")%>% 
  mutate(Name = str_to_title(Name))
 week_9 = read_csv("./CSV_Data_Files/2024 NFL Week 9.csv")%>% 
  mutate(Name = str_to_title(Name))
week_10 = read_csv("./CSV_Data_Files/2024 NFL Week 10.csv")%>% 
  mutate(Name = str_to_title(Name))
week_11 = read_csv("./CSV_Data_Files/2024 NFL Week 11.csv")%>% 
  mutate(Name = str_to_title(Name))
week_12 = read_csv("./CSV_Data_Files/2024 NFL Week 12.csv")%>% 
  mutate(Name = str_to_title(Name))
week_13 = read_csv("./CSV_Data_Files/2024 NFL Week 13.csv")%>% 
  mutate(Name = str_to_title(Name))
week_14 = read_csv("./CSV_Data_Files/2024 NFL Week 14.csv")%>% 
  mutate(Name = str_to_title(Name))
week_15 = read_csv("./CSV_Data_Files/2024 NFL Week 15.csv")%>% 
  mutate(Name = str_to_title(Name))
week_16 = read_csv("./CSV_Data_Files/2024 NFL Week 16.csv")%>% 
  mutate(Name = str_to_title(Name))
week_17 = read_csv("./CSV_Data_Files/2024 NFL Week 17.csv")%>% 
  mutate(Name = str_to_title(Name))
# week_18 = read_csv("./CSV_Data_Files/2024 NFL Week 18.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_19 = read_csv("./CSV_Data_Files/2024 NFL Wild Card.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_20 = read_csv("./CSV_Data_Files/2024 NFL Divisional Round.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_21 = read_csv("./CSV_Data_Files/2024 NFL Conference Round.csv")%>% 
#  mutate(Name = str_to_title(Name))
# week_22 = read_csv("./CSV_Data_Files/2024 NFL Super Bowl.csv")%>% 
#  mutate(Name = str_to_title(Name))

#reading in scores
Scores = read_csv(glue::glue("./CSV_Data_Files/NFL_Scores_{current_week}.csv")) 

#reading in CBS Prediction Records
cbs = read_csv(glue::glue("./CSV_Data_Files/CBS_Experts_{current_week}.csv")) %>% 
  mutate(Percent = round(Percent,4))
cbs_season = read_csv(glue::glue("./CSV_Data_Files/CBS_Experts_Season_{current_week}.csv"))

#reading in ESPN Prediction Records
espn = read_csv(glue::glue("./CSV_Data_Files/ESPN_Experts_{current_week}.csv"))%>% 
  mutate(Percent = round(Percent,4))
espn_season = read_csv(glue::glue("./CSV_Data_Files/ESPN_Experts_Season_{current_week}.csv"))%>% 
  mutate(Percent = round(Percent,4))

#Odds not working for the 2024 season.  Need to fix scrape code for next year.
#Reading in the moneyline odds for each team and cleaning the team names
# odds_wk1 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_1.csv"))
# odds_wk2 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_2.csv"))
# odds_wk3 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_3.csv"))
# odds_wk4 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_4.csv"))
# odds_wk5 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_5.csv"))
# odds_wk6 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_6.csv"))
# odds_wk7 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_7.csv"))
# odds_wk8 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_8.csv"))
# odds_wk9 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_9.csv"))
# odds_wk10 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_10.csv"))
# odds_wk11 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_11.csv"))
# odds_wk12 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_12.csv"))
# odds_wk13 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_13.csv"))
# odds_wk14 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_14.csv"))
# odds_wk15 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_15.csv"))
# odds_wk16 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_16.csv"))
# odds_wk17 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_17.csv"))
# odds_wk18 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_18.csv"))
# odds_wk19 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_19.csv"))
# odds_wk20 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_20.csv"))
# odds_wk21 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_21.csv"))
# odds_wk22 = read_csv(glue::glue("./CSV_Data_Files/Moneyline_Odds_22.csv"))

####################UPDATE THESE###############################
inst.picks = list(week_1, week_2, week_3, week_4, week_5, week_6, week_7, week_8 , week_9, week_10, week_11, week_12, week_13, week_14, week_15, week_16, week_17) # , week_18, week_19 , week_20, week_21, week_22) #add in the additional weeks
# odds = rbind(odds_wk1, odds_wk2, odds_wk3, odds_wk4, odds_wk5, odds_wk6, odds_wk7, odds_wk8,
#              odds_wk9, odds_wk10, odds_wk11, odds_wk12) #add in the additional weeks
####################END OF UPDATE##############################

weeks = as.list(seq(1:current_week)) #creating a list of each week number
```

```{r read in scores clean data, include=FALSE}
#Cleaning Odds Data
# cl_odds = odds_cleaning(odds)

#Cleaning scores data
Scores = cleaning2(Scores)

#creating a list of winners for each week
winners = map(weeks, weekly_winners)

#creating a vector of this weeks winners
this_week = pull(winners[[length(winners)]])  

#Getting the number of games for each week
weekly_number_of_games = map_dbl(weeks, week_number_games)
```

```{r Group Predictions, include=FALSE}
#Creating the list of everyones predictions each week.
games = map(inst.picks, games_fn)

#Creating the prediction table.  
pred_table = map(games, pred_table_fn)

#Adding who won to the predictions
with_winners = map2(pred_table, winners, adding_winners)

#Creating results for each week.
results = map2(with_winners,weekly_number_of_games, results_fn)
```


```{r Displaying Group Results, echo=FALSE}
#Displaying the group results

inst_group_table = results[[length(results)]] %>% gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("This Week's Predictions"),
    #subtitle = md(glue("Week {length(results)}"))
    ) %>% 
   tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(Correct),
      rows = Correct =="No"
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(Correct),
      rows = Correct =="Yes"
    )) %>% 
  tab_options(
    data_row.padding = px(3),
    container.height = "100%"
   )
```

```{r Weekly and season Group Results, include=FALSE}
# Printing the weekly and season win percentage     

#how many games correct, incorrect, and not picked each week
weekly_group_correct = map(results, weekly_group_correct_fn)  

#how many games were picked each week
weekly_games_picked = map2(weekly_group_correct, weekly_number_of_games, weekly_games_picked_fn)

#Calculating the number of correct picks for each week
weekly_group_correct_picks = map(weekly_group_correct, weekly_group_correct_picks_fn)

# Code to manually hard code in week where we get 0 games correct
# ##### Remove this line before next season 
# weekly_group_correct_picks[[21]]=0

#Calculating weekly win percentage
weekly_win_percentage = map2(weekly_group_correct_picks, weekly_games_picked, weekly_win_percentage_fn)

#Calculating season win percentage
season_win_percentage = round(sum(unlist(weekly_group_correct_picks))/sum(unlist(weekly_games_picked)),4)

#Calculating number of games picked this season
season_games = sum(unlist(weekly_games_picked))

#calculating season wins
season_wins = sum(unlist(weekly_group_correct_picks))

#calculating the number of people who picked this week
Total = dim(inst.picks[[length(weeks)]])[1]
```

```{r plotting group results, include=FALSE}
#Previous Weeks
group_season_for_plotting = unlist(weekly_win_percentage) %>% as.data.frame() %>% 
  rename(`Win Percentage` = ".") %>% 
  add_column(Week = unlist(weeks))
```

```{r Plotting the group results, echo=FALSE}
inst_group_season_plot = group_season_for_plotting %>% 
ggplot(aes(x = as.factor(Week), y = `Win Percentage`))+
  geom_point()+
  geom_path(aes(x = Week))+
  ylim(c(0, 1)) +
  xlab("NFL Week") + 
  ylab("Correct Percentage")+
  ggtitle("Weekly Group Correct Percentage")+
  theme_classic()+
  theme(plot.title = element_text(hjust = 0.5, size = 18))
```

```{r beating cbs week, include=FALSE}
#Creating a list of correct percentages for each week.
cbs_weekly_percent = map(weeks, cbs_percent)

#Creating a list of how many cbs experts we beat each week.
cbs_experts_beat = map2(cbs_weekly_percent, weekly_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
cbs_experts_total = map(cbs_weekly_percent, experts_tot)
```

```{r beating cbs season, include=FALSE}
#Creating a list of correct percentages for each week.
cbs_season_percent = map(weeks, cbs_season_percent)

#Creating a list of how many cbs experts we beat each week.
cbs_experts_beat_season = map2(cbs_season_percent, season_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
cbs_experts_season_total = map(cbs_season_percent, experts_tot)
```

```{r beating ESPN week, include=FALSE}
#Creating a list of correct percentages for each week.
espn_weekly_percent = map(weeks, espn_percent)

#Creating a list of how many cbs experts we beat each week.
espn_experts_beat = map2(espn_weekly_percent, weekly_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
espn_experts_total = map(espn_weekly_percent, experts_tot)
```

```{r beating ESPN season, include=FALSE}
#Creating a list of correct percentages for each week.
espn_season_percent = map(weeks, espn_season_percent)

#Creating a list of how many cbs experts we beat each week.
espn_experts_beat_season = map2(espn_season_percent, season_win_percentage, experts_beat)

#Creating a list of how many cbs experts picked each week.  
espn_experts_season_total = map(espn_season_percent, experts_tot)
```

```{r individual results, include=FALSE}
#Creating a list of individual results for each week.
weekly_indiv = pmap(list(inst.picks, winners, weeks), indiv_weekly_pred)

#Combining each week into one dataframe and calculating percentage Correct for this week.  
full_season = weekly_indiv %>% reduce(full_join, by = "Name") %>% 
  mutate(Percent = round(pull(.[,ncol(.)]/weekly_number_of_games[[length(weekly_number_of_games)]]),4)) 

#Creating a dataframe with only the weekly picks
a = full_season %>% select(starts_with("Week"))

#Creating a vector of how many weeks each person picked over the season
tot_week = NULL
help = NULL
for (i in 1:dim(a)[1]){
  for(j in 1:length(a)){
    help[j] = ifelse(is.na(a[i,j])==T,0,1)
    tot_week[i] = sum(help)
  }
}

#Creating a vector of how many games each person picked over the season
tot_picks= NULL
help = NULL
for (i in 1:dim(a)[1]){
  for(j in 1:length(a)){
    help[j] = unlist(weekly_games_picked)[j]*ifelse(is.na(a[i,j])==T,0,1)
    tot_picks[i] = sum(help)
  }
}

#Creatign a vector of how many games each person picked correct over the season
tot_correct = NULL
help = NULL
for (i in 1:dim(a)[1]){
  tot_correct[i] = sum(a[i,], na.rm = T)
}

#adding how many weeks each person picked, season correct percentage, and adjusted season percentag to the data frame and sorting the data
indiv_disp = full_season %>% add_column(`Weeks Picked` = tot_week) %>%
  add_column(tot_correct)%>%
  add_column(tot_picks)%>%
  mutate(`Season Percent` = round(tot_correct/tot_picks,4))%>%
  mutate(`Adj Season Percent` = round(`Season Percent`*(tot_week/length(a)),4)) %>%
  select(-tot_correct, -tot_picks) %>%
  arrange(desc(Percent), desc(`Season Percent`)) %>%
  mutate(Percent = ifelse(is.na(Percent)==T, 0, Percent))
```


```{r individual percentages, include=FALSE}
#Calculating individual percentages for each week.
weekly_indiv_percent = map2(weekly_indiv, as.list(weekly_number_of_games), indiv_percent) %>% reduce(full_join, by = "Name")

weekly_indiv_percent_plot = weekly_indiv_percent %>% 
  pivot_longer(cols = starts_with("Week"), names_to = "Week", values_to = "Percent")%>%
  mutate(Percent = ifelse(is.na(Percent)==T, 0, Percent)) %>% 
  mutate(Week = as.factor(Week))

levels = NULL
for(i in 1:length(weeks)){
  levels[i] = glue("Week {i}")  
}

weekly_indiv_percent_plot = weekly_indiv_percent_plot %>%
  mutate(Week = factor(Week, levels))
```

```{r sparklines, include=FALSE}
#adding sparklines
plot_group = function(name, df){
  plot_object = 
    ggplot(data = df,
           aes(x = as.factor(Week), y=Percent, group = 1))+
    geom_path(size = 7)+
    scale_y_continuous(limits = c(0,1))+
    theme_void()+
    theme(legend.position = "none")
  return(plot_object)
}

sparklines = 
  weekly_indiv_percent_plot %>% 
  group_by(Name) %>% 
  nest() %>% 
  mutate(plot = map2(Name, data, plot_group)) %>% 
  select(-data)
  
indiv_disp_2 = indiv_disp %>% 
  inner_join(sparklines, by = "Name") %>% 
  mutate(`Season Trend` = NA)
```

```{r Printing Individual Table2, echo=FALSE}
# Printing the individual Table
indiv_table = indiv_disp_2 %>% gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Individual Results"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
   tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(Percent),
      rows = Percent<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(Percent),
      rows = Percent>.5
    )) %>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(indiv_disp_2$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(c(plot))

indiv_winners = indiv_disp_2 %>% filter(Percent == max(Percent)) %>% select(Name) %>% pull() %>% paste(collapse = ", ")
indiv_season = indiv_disp_2 %>% filter(`Season Percent` == max(`Season Percent`)) %>% select(Name) %>% pull() %>% paste(collapse = ", ")
indiv_season_adj = indiv_disp_2 %>% filter(`Adj Season Percent` == max(`Adj Season Percent`)) %>% select(Name) %>% pull()%>% paste(collapse = ", ")
```

```{r Printing Season Leaderboard, echo=FALSE}
# Printing the Season Leaderboard
  
season_leaderboard_disp = indiv_disp_2 %>% select(Name, starts_with("Week ")) %>% 
  pivot_longer(starts_with("Week"),names_to = "Week", values_to = "Correct") %>% 
  group_by(Week) %>% 
  mutate(Correct = case_when(is.na(Correct)==T~0, 
                             TRUE~Correct)) %>% 
  mutate(Donut = case_when(Correct==max(Correct)~1,
                           TRUE~0))  %>% 
  ungroup() %>% 
  group_by(Name) %>% 
  summarise(`Donuts Won` = sum(Donut)) %>% 
  #mutate(`Donuts Won` = strrep("award,", Donuts)) %>% 
  right_join(.,indiv_disp_2) %>% 
  select(-starts_with("Week "), -Percent) %>% 
  mutate(`Season Rank` = min_rank(desc(`Season Percent`)),.before = Name) %>% 
  arrange(`Season Rank`) 
  
season_leaderboard = season_leaderboard_disp %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Season Leaderboard (Season Percent)"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
  # fmt_icon(
  #   columns = `Donuts Won`,
  #   fill_color = "gold",
  # ) %>%
  tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(season_leaderboard_disp$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(columns = c(plot))
```

```{r Printing Adj Season Leaderboard, echo=FALSE}
# Printing the Adj Season Leaderboard
  
adj_season_leaderboard_disp = indiv_disp_2 %>% select(Name, starts_with("Week ")) %>% 
  pivot_longer(starts_with("Week"),names_to = "Week", values_to = "Correct") %>% 
  group_by(Week) %>% 
  mutate(Correct = case_when(is.na(Correct)==T~0, 
                             TRUE~Correct)) %>% 
  mutate(Donut = case_when(Correct==max(Correct)~1,
                           TRUE~0))  %>% 
  ungroup() %>% 
  group_by(Name) %>% 
  summarise(`Donuts Won` = sum(Donut)) %>% 
  #mutate(`Donuts Won` = strrep("award,", Donuts)) %>% 
  right_join(.,indiv_disp_2) %>% 
  select(-starts_with("Week "), -Percent) %>% 
  mutate(`Season Rank` = min_rank(desc(`Adj Season Percent`)),.before = Name) %>% 
  arrange(`Season Rank`)

adj_season_leaderboard = adj_season_leaderboard_disp %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("Season Leaderboard (Adjusted Season Percent)"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
  # fmt_icon(
  #   columns = `Donuts Won`,
  #   fill_color = "gold",
  # ) %>%
  tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Season Percent`),
      rows = `Season Percent`>.5
    ))%>% 
     tab_style(
    style = cell_text(color = "red", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`<.5
    )) %>% 
   tab_style(
    style = cell_text(color = "green", weight = "bold"),
    locations = cells_body(
      columns = c(`Adj Season Percent`),
      rows = `Adj Season Percent`>.5
    )) %>% 
  tab_options(
    container.width = pct(100),
    data_row.padding = px(1),
    container.height = "100%"
   ) %>%
    tab_spanner(
    label = "Weekly # Correct",
    columns = starts_with(c("Week "))
  ) %>% 
  text_transform(
    locations = cells_body(c(`Season Trend`)),
    fn = function(x){
      map(adj_season_leaderboard_disp$plot, ggplot_image, height = px(30), aspect_ratio = 4)
                 }) %>%
  cols_hide(columns = c(plot))
```


```{r instructor formattable, echo=FALSE}
improvement_formatter <- 
  formatter("span", 
            style = x ~ formattable::style(
              font.weight = "bold", 
              color = ifelse(x > .5, "green", ifelse(x < .5, "red", "black"))),
             x ~ icontext(ifelse(x == max(x), "star", ""), x))

indiv_disp_3 = indiv_disp_2 %>% select(-plot)
indiv_disp_3$`Season Trend` = apply(indiv_disp_3[,2:(1+length(weeks))], 1, FUN = function(x) as.character(htmltools::as.tags(sparkline(as.numeric(x), type = "line", chartRangeMin = 0, chartRangeMax = 1, fillColor = "white"))))

indiv_table_2 = as.htmlwidget(formattable(indiv_disp_3, 
                                align = c("l", rep("c", NROW(indiv_disp_3)-1)),
              list(`Season Percent` = color_bar("#FA614B"),
              `Season Percent`= improvement_formatter,
              `Adj Season Percent`= improvement_formatter)))
              
indiv_table_2$dependencies = c(indiv_table_2$dependencies, htmlwidgets:::widget_dependencies("sparkline", "sparkline"))
```

```{r Plotting individual results over the season2, eval=FALSE, include=FALSE, out.width="100%"}
#Creating the individual plot.  
inst_indiv_plots = weekly_indiv_percent_plot %>% 
  ggplot(aes(x = factor(Week), y = Percent, color = Name))+
  geom_point()+
  geom_path(aes(x = as.factor(Week), y = Percent, color = Name, 
                group = Name))+
  ylim(c(0, 1)) +
  labs(x = "NFL Week", 
       y = "Correct Percentage", 
       title = "Weekly Individual Correct Percentage")+
  facet_wrap(~Name)+
  theme_classic()+
  theme(legend.position = "none",
        plot.title = element_text(hjust = 0.5, size = 18),
        axis.text.x=element_text(angle =45, vjust = 1, hjust = 1))
```

```{r data for data page}
inst.data = map2(inst.picks, weeks, disp_data) %>% bind_rows()
```


```{r fivethirtyeight}
inst_538 = map(results, five38) %>% unlist() %>% sum()
```

```{r pregame, eval=FALSE, include=FALSE}
#Predictions for the week

#Creating the list of group predictions each week.
games = map(inst.picks, games_fn)

#Creating the prediction table.  
pred_table = map(games, pred_table_fn)

#Printing table of instructor predictions
pred_table[[length(pred_table)]] %>% mutate(Game = row_number()) %>% 
  rename(`Votes For` = votes_for, `Votes Against` = votes_against) %>% 
  gt() %>% 
  cols_align(
    align = "center") %>% 
   tab_header(
    title = md("This Week's Predictions"),
    subtitle = md(glue("Week {length(weeks)}"))
    ) %>% 
   tab_options(
    data_row.padding = px(3)
   )
```

Group Predictions
==========================================================================

Sidebar {.sidebar} 
-------------------------------------
#### CBS Sports

<font size="4">

This week we beat or tied `r cbs_experts_beat[[length(weeks)]]` of `r cbs_experts_total[[length(weeks)]]` CBS Sports' Experts.

For the season we are currently beating or tied with `r cbs_experts_beat_season[[length(weeks)]]` of `r cbs_experts_season_total[[length(weeks)]]` CBS Sports' Experts.
 
 </font>


#### ESPN

<font size="4">

We also beat or tied `r espn_experts_beat[[length(weeks)]]` of `r espn_experts_total[[length(weeks)]]` ESPN Experts.
 
For the season we are currently beating or tied with `r espn_experts_beat_season[[length(weeks)]]` of `r espn_experts_season_total[[length(weeks)]]` ESPN Experts.

</font>

Row
--------------------------------------

### Win percentage for the week

```{r}
inst_rate <- weekly_win_percentage[[length(weekly_win_percentage)]]*100
gauge(inst_rate, min = 0, max = 100, symbol = '%', gaugeSectors(
  success = c(55, 100), warning = c(40, 54), danger = c(0, 39)
))
```

### Season Win Percentage

```{r}
inst_season <- season_win_percentage*100
gauge(inst_season, min = 0, max = 100, symbol = '%', gaugeSectors(
  success = c(55, 100), warning = c(40, 54), danger = c(0, 39)
))
```

### Games Correct
```{r}
valueBox(value = season_wins,icon = "fa-trophy",caption = "Correct Games this Season")
```

### Games Picked
```{r}
valueBox(value = season_games,icon = "fa-clipboard-list",caption = "Games Picked this Season")
```

### Number of predictions
```{r}
valueBox(value = Total,icon = "fa-users",caption = "Predictions this week")
```

Row
--------------------------------------

### 

```{r}
inst_group_table
```

### 

```{r}
ggplotly(inst_group_season_plot) %>% 
  layout(title = list(y = .93, xref = "plot"),
         margin = list(t = 40))
```

Individual Predictions
==========================================================================


Sidebar {.sidebar} 
-------------------------------------

#### Best Picks of the Week.

<font size="4">

 `r indiv_winners`
 
 </font>
 
#### Best Season Correct Percentage
<font size="4">

`r indiv_season`
 
 </font>

#### Best Adjusted Season Correct Percentage
<font size="4">

`r indiv_season_adj`

 * Adjusted season percentage accounts for the number of weeks picked.
 
 </font>

row {.tabset}
--------------------------------------

### Individual Table
```{r}
indiv_table
```

<!--
### Individual Table2

```{r, out.height="100%"}
indiv_table_2
```

-->

<!--

### Individual Plots
```{r, out.width="100%"}
#ggplotly(inst_indiv_plots)
```

-->

### Season Leaderboard
```{r, out.width="100%"}
season_leaderboard
```

### Adjusted Season Leaderboard
```{r, out.width="100%"}
adj_season_leaderboard
```

Data
==========================================================================

```{r}
datatable(
  inst.data, extensions = 'Buttons', options = list(
    dom = 'Blfrtip',
    buttons = c('copy', 'csv', 'excel', 'pdf', 'print'),
    lengthMenue = list( c(10, 25, 50, 100, -1), c(10, 25, 50, 100, "All") )
  )
)
```